home *** CD-ROM | disk | FTP | other *** search
Text File | 1997-08-18 | 1.3 KB | 54 lines | [TEXT/R*ch] |
- (* Opcodes for the simple primitives. *)
-
- local open Fnlib Prim Opcodes in
-
- val opcode_for_primitive = fn
- Pupdate => UPDATE
- | Praise => RAISE
- | Pnot => BOOLNOT
- | Ptag_of => TAGOF
- | Paddint => ADDINT
- | Psubint => SUBINT
- | Pmulint => MULINT
- | Pdivint => DIVINT
- | Pmodint => MODINT
- | Pandint => ANDINT
- | Porint => ORINT
- | Pxorint => XORINT
- | Pshiftleftint => SHIFTLEFTINT
- | Pshiftrightintsigned => SHIFTRIGHTINTSIGNED
- | Pshiftrightintunsigned => SHIFTRIGHTINTUNSIGNED
- | Pintoffloat => INTOFFLOAT
- | Pstringlength => STRINGLENGTH
- | Pgetstringchar => GETSTRINGCHAR
- | Psetstringchar => SETSTRINGCHAR
- | Pmakevector => MAKEVECTOR
- | Pvectlength => VECTLENGTH
- | Pgetvectitem => GETVECTITEM
- | Psetvectitem => SETVECTITEM
- | Psmlnegint => SMLNEGINT
- | Psmlsuccint => SMLSUCCINT
- | Psmlpredint => SMLPREDINT
- | Psmladdint => SMLADDINT
- | Psmlsubint => SMLSUBINT
- | Psmlmulint => SMLMULINT
- | Psmldivint => SMLDIVINT
- | Psmlmodint => SMLMODINT
- | Pmakerefvector => MAKEREFVECTOR
- | Psmlquotint => SMLQUOTINT
- | Psmlremint => SMLREMINT
- | Pswap => SWAP
- | _ => fatalError "opcode_for_primitive"
- ;
-
- val opcode_for_float_primitive = fn
- Pfloatofint => FLOATOFINT
- | Psmlnegfloat => SMLNEGFLOAT
- | Psmladdfloat => SMLADDFLOAT
- | Psmlsubfloat => SMLSUBFLOAT
- | Psmlmulfloat => SMLMULFLOAT
- | Psmldivfloat => SMLDIVFLOAT
- ;
-
- end;
-